藉由ODOO的security,進行對model的權限設定,我們今天來寫一個student 權限的範例。
在security底下增加ir.model.access.csv
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_res_student,res.student,model_res_student,base.group_user,1,1,1,1
我們做成表格
id|name|model_id:id|group_id:id|perm_read|perm_write|perm_create|perm_unlink
---|---|---|---|---|---|
access_res_student|res.student|model_res_student|base.group_user|1|1|1|1
這份文件告知odoo model給予哪些使用者哪些權限
id
: 權限id,不重複即可
name
: 權限名稱
model_id:id
:規則為 "model_" + Model name,意指對哪個model設定權限
group_id:id
: 對哪個group設定權限,為設定的XML ID,現在是設定給所有人都能讀取,此group在base/security/base_group內。
權限設定1代表給予權限,反之0代表無法操作此命令
perm_read
:讀取model的權限
perm_create
:增加model資料的權限
perm_write
:更改model資料的權限
perm_unlink
:刪除model資料的權限
設定完之後我們可以在ODOO的Access right內找到,我們的設定檔,記得開啟開發者模式。
如此一來我們才可以對此model做操作,但是有時候我們可能需要設定層級,例如志工只可以看到學生名單,行政人員可以新增或修改學生資料,主任以上層級才可以刪除學生檔案,此部分就是得分別設定Group,明天我們將會講解怎麼設定Group並結合Access right。